package de.hmm.hwip.security.api;

import javax.crypto.SecretKey;

/**
 * Interface for security Service 
 * site: Client
 * 
 * @author johannes mendel
 * @version 30.10.2012
 *
 */
public interface ISecurityClient {
	
	/**
	 * Encrypting the given message with AES algorithm.
	 * 
	 * @param message - the String to encrypt
	 * 
	 * @return The encrypted, base64 encoded string.

	 */
	 public String encryptStringAES(String message);
	 
	 /**
	  * Decrypting the given message with AES algorithm.
	  * 
	  * @param message - the String to decrypt
	  * 
	  * @return The decrypted string.
	  */
	 public String decryptStringAES(String message);
	 
	 /**
	  * sets the AES-Key from handshare to crypter class
	  * @param key AES key from handshake
	  */
	 public void setAESKey(SecretKey key);
	 
	 /**
	 * Encrypting the given message.
	 * 
	 * @param message - the string to encrypt
	 * 
	 * @return The encrypted, base64 encoded string.

	 */
	 public String encryptStringRSA(String message);
	 
	 /**
	  * Decrypting the given message.
	  * 
	  * @param message - the string to decrypt
	  * 
	  * @return The decrypted string.
	  */
	 public String decryptStringRSA(String message);

}
